This invention is generally concerned with packet network telephony, and is particularly concerned with a packet voice telephone architecture.
Within the past few years, a lot of interest, hype, and money has been spent on making practical use of the Internet. One of the most promising new technologies, and the one which may offer consumers the first real alternative to conventional switched telephone service, is Internet telephony. Simply put, Internet telephony is directed to using the Internet as the transport for telephone calls. Unlike the traditional telephone call, in Internet telephony, the use of the public switched telephone network is minimized, and instead the Internet backbone is used as the primary long-haul communications carrier. By leveraging fixed cost Internet access and global points of presence (the parties to the call could be as close as next door or as far away as the next hemisphere), Internet telephony can significantly reduce or even eliminate the time and distance costs heretofore expected in a long distance call utilizing the public switched telephone network (xe2x80x9cPSTNxe2x80x9d).
In a conventional Internet telephony session, an originating computer having a TCP/IP stack and a communications pathway to the Internet establishes a TCP virtual circuit or UDP connection with a destination computer also having its own TCP/IP stack and communications pathway to the Internet. Once the TCP virtual circuit or UDP connection is established, analog voice perceived at the source computer is converted into streaming data and sent over the Internet in a series of TCP/IP or UDP/IP packets. The destination computer receives the so-packetized streaming data and converts it back to analog form as it is received. The destination may likewise transfer locally perceived streaming voice back to the source to enable two-way voice communications between the source and destination users, much like the traditional telephone call.
Known Internet telephony implementations are software-based, and require sophisticated multimedia computing resources be utilized by both the originating and destination points in order to establish and maintain the call. This is because these computing resources are designed to utilize the Internet in its traditional role as an asynchronous data communications network, and as such, need a reliable way to transfer information. The TCP protocol promises such reliability, since a single data route is selected and all TCP transferred data is checked at the destination to ensure all data is received in good condition (otherwise, the destination requests the source to resend the missing or corrupted packets). This protocol is great for transferring a data file or an application that doesn""t work if even a small piece of data is missing. However, TCP is not so great when real-time streaming data such as voice is being transmitted, since it requires that the destination confirm delivery of each packet and request the source to resend it if it doesn""t show up.
As a result, some known software-based telephony applications can be configured to attempt Internet telephony communications using UPD, real time protocol (xe2x80x9cRTPxe2x80x9d), real time control protocol (xe2x80x9cRTCPxe2x80x9d), or the recently announced real time streaming protocol (RTSP), all of which sacrifice TCP""s transmission reliability to some degree in exchange for enhanced throughput and/or adding special timing information relevant to streaming data transmission. While these protocols offer improved real-time streaming data transmission performance over TCP, they nevertheless saddle the Internet telephony application or an apparatus with complicated negotiation and delivery requirements, which still require advanced computing resources to handle.
Moreover, even though conventional Internet telephony software may be available at low-cost or even bundled with the implementing computer, the underlying multimedia computer hardware required to execute the software is quite expensive when compared to the cost of a conventional telephone. Also, the interfaces are quite dissimilar, even if the telephony application displays a xe2x80x9cphonexe2x80x9d paradigm on the screen. This makes current Internet telephony applications difficult for the casual user to understand, much less utilize.
Therefore, it would be desirable if a simple telephony device was developed which could simultaneously transmit and receive packetized streaming voice data without the encumbrances imposed by existing reliable data communication or real-time protocols. It would also be desirable to provide a telephony device that provides a interface familiar with telephone users.
In accordance with these and related desires, the present invention is directed to Applicant perceives as a useful, novel and nonobvious packet voice telephone and telephony system incorporating the same. Consistent with a first embodiment of the present invention, the purely connectionless Layer 3 IP protocol is used to transfer streaming voice. As such, the IP telephone of the first embodiment includes a controller and memory specifying the destination IP address or addresses, a packetizer coupled the controller and memory for packetizing outbound digitized voice into at least one outbound IP packet, and a network interface for transmitting the outbound IP network onto a network which may include the Internet. Preferably, this IP phone also includes an extractor coupled to the memory and controller for extracting inbound digitized voice within an incoming IP packet whose source address correlates to the destination IP address or addresses stored in the memory.
By using base IP transmission protocol without TCP, UDP, or real time extensions, in this embodiment call setup and voice transmission operations are greatly simplified. This feature enables the IP telephone controller to preferably comprise a finite state machine for directing bi-directional IP packet flow in a purely connectionless manner. This finite state machine may be implemented by a programmed microntroller, or a synchronous network of discrete logic.
The IP telephone according to the first embodiment present invention preferably communicates with a phone server having a predetermined IP address in order to resolve user input into a viable destination IP address for establishing a call, as well as implement advanced call features such as forwarding and conferencing. To establish the call, the IP telephone packetizer may transmit a predefined call request IP packet to this phone server using the predetermined IP address as the destination address. The phone server will utilize a call model for resolving or verifying requested destination information specified by the user and contained in the data portion of the call request IP packet, and either issues a connection reply containing the resolved or verified destination IP address, or a connection error if the phone server is unable to decipher or confirm the desired destination information. In turn, the IP telephone controller will identify the server feedback and, if a connection reply is perceived, the destination IP address specified in the reply is placed in IP telephone memory. Thereafter, the packetizer will route digitized voice packets to this stored address.
According to a second embodiment of the invention, OSI level 4 and higher layer protocols (such as TCP/IP and ITU H.323) can be preserved through encapsulation, redirection, and resolution of such layer control. To this end, the IP telephone of the second embodiment will include a controller capable of directly or indirectly determining whether an incoming packet includes control information germane to the layer 4+ protocol being supported. If this controller determines that the received packet includes such control information which it cannot process internally, it encapsulates the received control information into an outbound layer 3 packet and directs that it be sent to the phone server using base IP protocols.
The phone server receives inbound layer 4+ control information, and, using appropriate higher layer service routines, extracts the control information and formulates a response. Then, the phone server encapsulates and broadcasts the response to the IP telephone using Layer 3 IP protocols and the controller of the IP telephone routes it to the destination in native higher layer format. In such way, the phone server of the second embodiment acts as a control, receipt and response intermediary that is transparent to the destination telephony device. Moreover, layer 4+ protocols can be supported while adding minimal processing functionality to the IP telephone controller, thereby keeping IP telephone costs low.
Preferably, the IP telephone of the first and second embodiments will include a dedicated handset much like a conventional telephone, and appropriate analog/digital converter circuitry coupled to the aforementioned extractor and packetizer for converting voice acquired by the handset microphone into outbound digitized voice as well as for converting inbound digitized voice into analog for playback in the handset speaker.
In addition, preferably, the IP telephone according to the first and second embodiments of the invention includes a phone-like keypad for eliciting desired destination identification information from the user. The destination information may consist of the destination""s IP address or addresses, or other information from which the destination IP address can be locally or remotely resolved. In addition, a display may be provided so that the user can e.g. self-verify her keypad entry or identify the calling party.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of the specific preferred embodiments of the invention in conjunction with the accompanying figures.